Method of control and control structure for the movement control, pre-control and fine Interpolation of objects in a speed controller clock which is faster than the position controller clock

ABSTRACT

The invention makes it possible to execute the pre-control and the fine interpolation in the drive (A) in the fast drive clock (tDR) with a slower path pre-setting in the clock (tNC) of the NC. For this purpose, in each NC clock (tNC) a setpoint speed value (nNC*) and the P gain (kP) of the NC position controller (L_NC) and the desired axle speed (nNC) and the average axle speed (NNCMW) during the last NC position controller clock are transferred from the NC to the drive. From this information, polynomial segments of the third degree are in each case generated on the drive side, valid for the duration of an NC position controller clock (tNC). They are constructed in such a way that the speed at the polynomial transitions is constant. A variable component of the position polynomial is determined as the fine position component xF, with which the setpoint position values are finely interpolated in the drive. Furthermore, the speed (nVor) and the torque (iVor) can also be pre-controlled in a finely interpolated form in the drive, since the polynomial of the third degree can be differentiated twice.

BACKGROUND OF THE INVENTION

[0001] The invention relates to a method of control and a corresponding control device for the movement control of numerically controlled machine tools, robots or the like with a speed control system with a speed controller clock arranged in a drive part and a higher-level position control system, distributed between a control part and the drive part, with setpoint speed values being preset as a reference variable by the control-side part of the position control system in a comparatively slower position control clock.

[0002] For complex movement control with a plurality of drives, often a central numerical control system (abbreviated hereafter as NC) is used, coordinating the movement control and outputting setpoint values to autonomously operating drive control systems. Since the computations for the coordinated movement control are generally complex and these computations have to take place for a plurality of axes, the computing time burden of the NC is usually greater than the computing time burden of the individual drive control systems. Therefore, the sampling clock (period) of the drive control system is smaller and the computing clock (frequency) is generally significantly greater than that of the NC.

[0003] Nevertheless, the position controllers for each axis are often computed in the NC, in order to process all the information for the coordination of the axis movements together and relieve the drive of numerous additional tasks such as referencing. If the position controllers are relocated into the drives, although NC computing time is saved and a more even computing time distribution is obtained, the NC no longer has the complete control which is necessary for a coordinated movement.

[0004] European Patent EP 0844542 B1 therefore describes a method in which the position controllers are meaningfully distributed between the NC and the drives, the control dynamics of the position controller being determined by a comparatively fast sampling clock of the individual drive. However, this method only has a simple fine interpolator and all the pre-control values are still processed in the comparatively slow position controller clock of the NC. The linear fine interpolator leads for example to torque fluctuations in the position controller clock of the NC, which has adverse effects on the mechanics. A so far not yet realized pre-control in the drive clock would bring with it an enormous increase in the path-following accuracy.

[0005] Conventional solution approaches with an arrangement of the position controller in the NC lead to low position controller dynamics and path-following accuracy. An alternative arrangement of the position controller in the drive, on the other hand, leads to increased functional range in the drive and an increased need for communication between the drive and NC. Furthermore, the increased functional range in the drive generally has the effect that the sampling clock of the drive must be increased, which is undesired with regard to the control dynamics. Furthermore, the path-following accuracy is notably inferior with pre-control in the position controller clock.

[0006] The object of the invention is therefore to achieve an increase in the path-following accuracy for the method of control or control structures stated at the beginning, by permitting fine interpolation and pre-control in the drive clock.

[0007] This object is achieved according to the present invention by the method of control stated at the beginning being further developed in that setpoint speed values preset by the control-side part of the position control system serve on the drive side for determining a constant component of a setpoint position value polynomial, the variable component of which is determined on the drive side in the speed control clock as a fine position component on the basis of a desired axle speed, preset by a control-side path computation in the position control clock in each case, and the average axle speed during the last position control clock, and is fed on the input side to the drive-side part of the position control system and serves for fine position interpolation.

[0008] To obtain the advantages of the method described in EP 0 844 542 B1, actual position values acquired in the position control clock for determining the constant component of the setpoint position value polynomial are fed back as the first controlled variable on the input side to the control-side part of the position control system and the difference from actual position values acquired in the speed control clock and actual position values acquired in the position control clock is additionally fed back as the second controlled variable on the input side to the drive-side part of the position control system, the logical combination of the output values of the two higher-level position control parts being supplied to the speed control system as setpoint speed values.

[0009] Such advantages are, in particular, the increased dynamics of a position control loop, without the computing effort required for this in the drive or on the part of the numerical control system being increased considerably. There continues as before to be a central awareness of all the states of the axes or groups of axes. The operations which are less important in terms of control technology continue to take place in the NC. This is consequently not additionally burdened. Added to this is the fact that actual position values can be processed incrementally in a signal processor, whereby no otherwise required floating-point numbers have to be processed. This brings with it a considerable gain in computing time.

[0010] It has at the same time been found to be advantageous if the drive-side part of the position control system is operated with the same proportional gain as the control-side part of the position control system.

[0011] A further advantageous refinement of the method of control according to the present invention determines the setpoint position value polynomial on the drive side from polynomial segments which are in each case valid for the duration of a position control clock, in particular as a spline function. It is at the same time also advantageous if the setpoint position value polynomial is determined on the drive side in such a way that the speed at the polynomial transitions is constant. With the fine position component of the setpoint position value polynomial, the setpoint position values in the drive then undergo fine interpolation in the speed controller clock.

[0012] If a polynomial of the third degree or higher is determined as the setpoint position value polynomial on the drive side, a speed pre-control can be achieved in the speed controller clock by differentiating the variable component of the setpoint position value polynomial for determining a speed pre-control value, which is fed on the input side to the speed control system.

[0013] It is in this case recommendable to adapt a control-side setpoint position value and the variable component of the setpoint position value polynomial dynamically by delaying them by a symmetrizing time.

[0014] If a polynomial of the third degree or higher is determined on the drive side as the setpoint position value polynomial, the variable component of which is differentiated twice, a torque pre-control in the drive clock can be additionally achieved by determining on the basis of the value obtained and a moment of inertia of the drive a torque pre-control value, which is fed on the input side to a current control system arranged downstream of the speed control system. Here, too, a dynamic adaptation, in that the speed pre-control value is delayed by the symmetrizing time, is recommendable.

[0015] To allow the measures described above of the method of control according to the present invention to be realized in a simple manner, a control structure which is likewise suitable for achieving the object set at the beginning is additionally provided. This takes place by means of a control device for the movement control of numerically controlled machine tools, robots or the like having:

[0016] a drive-side speed controller with a speed controller clock;

[0017] a higher-level drive-side position controller with the speed controller clock; and

[0018] a likewise higher-level control-side position controller with a comparatively slower position controller clock, which supplies setpoint speed values as a reference variable; which is further developed by a drive-side computing means, which is preset with a desired axle speed and an average axle speed during the last position controller clock by a control-side path computation, in each case in the position controller clock, with which means a fine position component can be determined on the basis of this information in the speed controller clock and used to activate the drive-side position controller on the input side.

[0019] Here, too, it has proven to be advantageous if actual position values acquired in the position controller clock serve as an input-side controlled variable for the control-side part of the position control system, the difference from actual position values acquired in the speed controller clock and actual position values acquired in the position controller clock serves as an input-side controlled variable for the drive-side position controller and the logical combination of the output values of the two higher-level position controllers is fed to the speed controller as setpoint speed values.

[0020] It is recommendable in this case to operate the drive-side position controller with the same proportional gain as the control-side position controller.

[0021] In an advantageous configuration of the control structure of the invention, the computing means supplies the fine position component in the form of polynomial segments of a setpoint position value polynomial, in particular of the third degree or higher, which are in each case valid for the duration of a position controller clock. It has proven to be particularly advantageous in this case if polynomial segments can be provided in such a way that the speed at the polynomial transitions is constant.

[0022] A pre-control of the speed in the speed controller clock is made possible by the computing means comprising a means for differentiation which can be used to differentiate polynomial segments for the determination of a speed pre-control value, which is fed to the speed controller on the input side.

[0023] It has in this case been found to be favourable if a dynamic adaptation takes place by a means for symmetrizing setpoint position values being arranged upstream of the control-side position controller and the drive-side computing means comprising a further means for symmetrizing the fine position component.

[0024] If differentiation is performed twice with the means for the differentiation of polynomial segments, it being possible on the basis of the value obtained and a moment of inertia of the drive to determine a torque pre-control value which can be fed on the input side to a current controller arranged downstream of the speed controller, a torque pre-control can be additionally achieved in the speed controller clock.

[0025] Here, too, a dynamic adaptation is of advantage, in that the drive-side means for symmetrizing also serves for the time delay of the speed pre-control value.

[0026] Further advantages and details of the present invention emerge from the following description of an advantageous exemplary embodiment and in conjunction with the figures, in which:

[0027]FIG. 1 shows a block diagram of a P position control system with feedback of the position differences and with measures according to the invention for fine interpolation and pre-control in the speed controller clock;

[0028]FIG. 2 shows a result of simulation of a conventional P position control system with feedback of the position in the speed controller clock in the case of a sinusoidal setpoint position value; and

[0029]FIG. 3 shows a result of simulation in the case of a likewise sinusoidal setpoint position value, but with the fine interpolation and pre-control in the speed controller clock according to the invention.

[0030] Shown in the representation according to FIG. 1 is a block diagram of a P position control system (proportional position control), which is distributed between a numerical control system NC and a drive A. The control structure shown has the classic construction of a cascade control system with a current controller (not shown), a higher-level speed controller DR, which is arranged here in the drive A and runs with a comparatively faster speed controller clock/drive clock tDR, and an even higher-level position controller L_NC, which runs with a comparatively slower position controller clock/control clock tNC of the position control system. Additionally provided on the basis of the distributed position control system is a drive-side position controller L_A. which is likewise at a higher level than the speed controller and runs with the faster speed controller clock.

[0031] On the input side, setpoint position values xNC*, determined by a control-side path computation B, are preset as a reference variable, subjected to symmetrizing SYM_NC and are available as dynamically adapted setpoint position values xNCSym*. Fed back to this reference variable as a controlled variable are actual position values xistNC*, which are sampled in the position controller clock tNC, which is illustrated in the representation according to FIG. 1 in the form of a switch (sampling element) activated by tNC. The sampling element may also be fed a position offset value xoff on the input side. The difference between xNCSym* and xistNC* is fed to the control-side position controller L_NC and is passed on from there as a setpoint speed value nNC* via an interface between the NC and the drive to the speed control loop DR. The latter provides on the output side setpoint current values for the activation of the current controller (not shown). The equivalent time constant of the integrator in this case advantageously corresponds to the value of the position controller clock tNC. The speed control loop is closed on the drive side, in that the actual position values sampled in the speed controller clock tDR are differentiated in a differentiator DIFF and fed back as actual speed values nist* on the input side to the speed controller input.

[0032] Furthermore, the control structure according to FIG. 1 has the drive-side position control system L_A known from EP 0844542 B1 with additional feedback of position differences in the speed controller clock tDR. It is evident from this that, apart from the actual position values xistNC* fed back in the feedback branch in the position controller clock tNC—as described above—a second feedback branch is provided to the input of the speed control loop DR, via which branch actual position values nA*, likewise determined by the drive-side position controller L_A, are fed back to the input of the speed control loop DR as a reference variable.

[0033] In this second feedback branch, the actual position values xist are on the one hand sampled via a sampling element, which is activated in the speed controller clock tDR, whereby sampled actual position values xistDR are available in the speed controller clock. In addition, further actual position values xistNC sampled in the position controller clock are determined by means of a further sampling element which is activated via the position controller clock tNC and are subtracted from the actual position values xistDR acquired in the speed controller clock, so that position differences Δx are obtained, and are fed back via the drive-side position controller L_A for the second feedback branch as a controlled variable to the input of the speed control loop DR. These position differences Δx are consequently fed back additively to the actual position values xistNC* acquired on the control side in the position controller clock tNC.

[0034] This control structure is then extended by the present invention by further measures, which bring about the above advantages in comparison with the known prior art. In particular, it becomes possible to execute the pre-control and the fine interpolation in the drive A in the fast drive clock tDR with a slower path pre-setting in the clock tNC of the NC.

[0035] At the same time, as described above, in every NC clock tNC a setpoint speed value nNC* and the P gain kP of the NC position controller L_NC are transferred via a suitable interface from the NC to the drive A. Furthermore, still further variables provided in the control-side path computation B are transferred via this interface to the drive, to be specific the desired axle speed nNC and the average axle speed nNCMW during the last NC position controller clock (virtually a position difference).

[0036] From this information (nNC, nNCMW), the drive A generates in a computing means POLY, for example a suitably programmed signal processor or ASIC (application-specific integrated circuit), in each case polynomial segments of the third degree, which are valid for the duration of an NC position controller clock tNC. They are constructed in such a way that the speed at the polynomial transitions is constant. The constant element of the setpoint position value polynomial is determined in the drive (as in the case of patent EP 0844542 B1) from the NC setpoint speed value nNC*, the P gain kP of the NC position controller L_NC and the actual position value xistNC stored in the position controller clock tNC, in order to obtain the advantages of this procedure.

[0037] The remaining component of the position polynomial of the third degree without the constant element is referred to hereafter as the fine position component xF. Consequently, the setpoint position values are finely interpolated in the drive A by the fine position component or fine interpolation component xF being fed on the input side to the position controller L_A. Furthermore, the speed and torque in the drive A can also be pre-controlled in a finely interpolated form, since the polynomial of the third degree can be differentiated twice. A corresponding differentiation can likewise take place in the computing means POLY.

[0038] For the speed pre-control, polynomial segments of the second degree are obtained and, for the torque, segments of the first degree are obtained. The speed pre-control values nVor obtained in this way are fed on the input side to the speed controller DR, this in conjunction with the two output values nNC* of the NC position controller L_NC and nA* of the drive-side position controller resulting in pre-controlled setpoint speed values nDR*. By analogy with this, torque pre-control values iV or determined in POLY are fed on the input side to the current controller (not shown). However, the torque pre-control is only possible if the moment of inertia J of the drive is known. If the moment of inertia J is not known, only the speed will be pre-controlled.

[0039] Possible computation specifications are to be described below for the computation of the setpoint position value polynomial of the third degree for the determination of the respective fine interpolation and pre-control values by the computing means POLY.

V₀(k)=nNC(k−1)   (1)

a₀(k)=−2·(nNC(k)+2·nNC(k−1)−3·nNCMW(k))   (2)

r₀(k)=6·(nNC(k)+nNC(k−1)−2·nNCMW(k))   (3)

[0040] where

[0041] k: is the discrete time in the position controller clock,

[0042] v₀(k): is the speed at the beginning of k

[0043] a₀(k): is the acceleration at the beginning of k and

[0044] r₀(k): is the jolt at the beginning of k.

[0045] Consequently, the fine position component xF(k,t) (without symmetrizing) can be determined as follows: $\begin{matrix} {{{xF}\left( {k,t} \right)} = {{{v_{0}(k)} \cdot \frac{t}{tNC}} + {\frac{1}{2} \cdot {a_{0}(k)} \cdot \left( \frac{t}{tNC} \right)^{2}} + {\frac{1}{6} \cdot {r_{0}(k)} \cdot \left( \frac{t}{tNC} \right)^{3}}}} & (4) \end{matrix}$

[0046] For the value nVor(k,t) of the speed pre-control (without symmetrizing), this produces by differentiating once: $\begin{matrix} {{{nVor}\left( {k,t} \right)} = {{v_{0}(k)} + {{a_{0}(k)} \cdot \frac{t}{tNC}} + {\frac{1}{2} \cdot {r_{0}(k)} \cdot \left( \frac{t}{tNC} \right)^{2}}}} & (5) \end{matrix}$

[0047] Renewed differentiation then leads to the value iVor(k,t) for a torque pre-control: $\begin{matrix} {{{tVor}\left( {k,t} \right)} = {J \cdot \left( {{a_{0}(k)} + {{r_{0}(k)} \cdot \frac{t}{tNC}}} \right)}} & (6) \end{matrix}$

[0048] The pre-control should also be additionally symmetrized (dynamically adapted) in order to avoid undesired controller movements up to the time when the pre-control becomes effective. The transfer values nNC and nNCMW are symmetrized in the drive, before the coefficients for the setpoint position value polynomial are determined from them in accordance with the above equations (1), (2) and (3). The symmetrizing time is preset to the drive A for this purpose by the NC. In the symmetrizing, the setpoint position value xNC* is dynamically adapted by the symmetrizing unit SYM_NC already mentioned further above. The same takes place for the fine interpolation component xF and the speed pre-control value nVor, in that these are delayed by the symmetrizing time by a symmetrizing unit SYM_A preferably integrated in the computation unit POLY.

[0049] If no torque pre-control is possible (for example moment of inertia J of the drive A is not known), the speed pre-control value nVor is not delayed. The symmetrizing time is transferred from the NC to the drive A and the latter then realizes the delay for the fine interpolation component xF and the speed pre-control nVor. The constant element of the setpoint position value polynomial is symmetrized by the NC.

[0050] With these measures according to the invention, previously unachieved path accuracies can be attained with smooth torque characteristics, i.e. extreme precision and best preservation of the mechanical components, it continuing to be possible to maintain the advantages according to the patent EP 0844542 B1. The interface between the NC and the drive is in this case advantageously chosen such that as few data as possible have to be exchanged.

[0051] This is achieved, inter alia, by appreciating the improvement possibilities and devising the described control structure, which distributes the tasks for the NC and the drive A in such a way that extreme path accuracy is produced along with a favorable allocation of computing time and a slender communication interface.

[0052] The representations according to FIG. 2 and FIG. 3 show results of simulation in the case of a sinusoidal setpoint position value. Represented in each of the two figures are the setpoint speed value nsoll, the actual speed value nist and the associated torque m (mathematical derivative of the speed). FIG. 2 in this case shows the characteristics achieved by the method from the patent EP 0844 542 B1. The transient response visible at the beginning (up to 0.04 s) results from the starting conditions of the simulation and should be ignored. In the oscillating characteristic of the torque m, the position controller clock can be seen. Also evident is a difference—albeit small—between the setpoint and actual speeds, which is intended to be expressed by the designation nsoll-nist.

[0053] The representation according to FIG. 3 was produced in the same conditions, but by the described method according to the invention with a speed and torque pre-control. The torque m no longer exhibits any drops and a difference between the setpoint and actual speeds can no longer be perceived (nsoll = nist). Here, too, the transient response at the beginning of the simulation must be ignored. 

We claim:
 1. A method of control for the movement control of numerically controlled machine tools, robots or the like, with a speed control system with a speed controller clock arranged in a drive part and a higher-level position control system distributed between a control part and the drive part with setpoint speed values being preset as a reference variable by the control-side part of the position control system in a comparatively slower position control clock wherein said setpoint speed values serve on the drive side for determining a constant component of a setpoint position value polynomial, the variable component of which is determined on the drive side in the speed control clock as a fine position component on the basis of a desired axle speed preset by a control-side path computation in the position control clock in each case, and the average axle speed during the last position control clock and is fed on the input side to the drive-side part of the position control system and serves for fine position interpolation.
 2. The method of control for movement control according to claim 1, wherein actual position values acquired in the position control clock for determining the constant component of the setpoint position value polynomial are fed back as the first controlled variable on the input side to the control-side part of the position control system and the difference from actual position values acquired in the speed control clock and actual position values acquired in the position control clock is additionally fed back as the second controlled variable on the input side to the drive-side part of the position control system the logical combination of the output values of the two higher-level position control parts being supplied to the speed control system as setpoint speed values.
 3. The method of control for movement control according to claim 1, wherein the drive-side part of the position control system is operated with the same proportional gain as the control-side part of the position control system.
 4. The method of control for movement control according to claim 1, wherein the setpoint position value polynomial on the drive side is determined from polynomial segments which are in each case valid for the duration of a position control clock in particular as a spline function.
 5. The method of control for movement control according to claim 4, wherein the setpoint position value polynomial is determined on the drive side in such a way that the speed at the polynomial transitions is constant.
 6. The method of control for movement control according to claim 1, wherein a polynomial of the third degree or higher is determined as the setpoint position value polynomial on the drive side, the variable component of which polynomial is differentiated for determining a speed pre-control value which is fed on the input side to the speed control system.
 7. The method of control for movement control according to claim 6, wherein a control-side setpoint position value and the variable component of the setpoint position value polynomial are dynamically adapted by delaying them by a symmetrizing time.
 8. The method of control for movement control according to claim 1, wherein a polynomial of the third degree or higher is determined on the drive side as the setpoint position value polynomial, the variable component of which is differentiated twice for determining a torque pre-control value, the torque pre-control value being determined on the basis of the value obtained and a moment of inertia of the drive and fed on the input side to a current control system arranged downstream of the speed control system.
 9. The method of control for movement control according to claim 7, wherein the speed pre-control value is likewise delayed by the symmetrizing time.
 10. The method of control for movement control according to claim 8, wherein the speed pre-control value is likewise delayed by the symmetrizing time.
 11. A control device for the movement control of numerically controlled machine tools, robots or the like having a drive-side speed controller with a speed controller clock a higher-level drive-side position controller with a speed controller clock and a likewise higher-level control-side position controller with a comparatively slower position controller clock which supplies setpoint speed values as a reference variable, wherein a drive-side computing means which is preset with a desired axle speed and an average axle speed during the last position controller clock by a control-side path computation in each case in the position controller clock with which means a fine position component can be determined on the basis of this information in the speed controller clock and used to activate the drive-side position controller on the input side.
 12. The control device for movement control according to claim 11, wherein actual position values acquired in the position controller clock serve as an input-side controlled variable for the control-side part of the position control system, the difference from actual position values acquired in the speed controller clock and actual position values acquired in the position controller clock serves as an input-side controlled variable for the drive-side position controller, and the logical combination of the output values of the two higher-level position controllers is fed to the speed controller as setpoint speed values.
 13. The control device for movement control according to claim 11, wherein the drive-side position controller operates with the same proportional gain as the control-side position controller.
 14. The control device for movement control according to claim 11, wherein the computing means supplies the fine position component in the form of polynomial segments of a setpoint position value polynomial, in particular of the third degree or higher, which are in each case valid for the duration of a position controller clock.
 15. The control device for movement control according to claim 14, wherein polynomial segments can be provided in such a way that the speed at the polynomial transitions is constant.
 16. The control device for movement control according to claim 14, wherein the computing means comprises a means for differentiation which can be used to differentiate polynomial segments for the determination of a speed pre-control value which is fed to the speed controller on the input side.
 17. The control device for movement control according to claim 16, wherein a means for symmetrizing setpoint position values is arranged upstream of the control-side position controller and the drive-side computing means comprises a further means for symmetrizing the fine position component.
 18. The control device for movement control according to claim 16, wherein differentiation can be performed twice with the means for the differentiation of polynomial segments for determining a torque pre-control value, it being possible on the basis of the value obtained and a moment of inertia of the drive to determine the torque pre-control value which can be fed on the input side to a current controller arranged downstream of the speed controller.
 19. The control device for movement control according to claim 18, wherein the drive-side means for symmetrizing also serves for the time delay of the speed pre-control value. 